<!DOCTYPE html>
<html>

<head>
    <style>
        canvas {
            border: 1px solid #ddd;
            margin: 20px;
            width: 600px;
            height: 600px;
        }

        div {
            display: flex;
            align-items: center;
        }

        desc {
            position: relative;

            h3 {
                position: absolute;
            }
        }
    </style>
</head>

<body>
    <div>
        <canvas id="canvas"></canvas>
        <desc>
            <h3>为了方便后续的算法实现，在rgb色轮的基础上额外赋予了两个维度</h3>
            <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="图层_1"
                x="0px" y="0px" viewBox="0 0 1024 1024" style="enable-background:new 0 0 1024 1024;"
                xml:space="preserve" width="600" height="600">
                <style type="text/css">
                    .st0 {
                        fill: none;
                        stroke: #006934;
                        stroke-width: 13;
                        stroke-miterlimit: 10;
                    }

                    .st1 {
                        fill: #006934;
                    }

                    .st2 {
                        fill: none;
                        stroke: #C30D23;
                        stroke-width: 13;
                        stroke-miterlimit: 10;
                    }

                    .st3 {
                        fill: #C30D23;
                    }

                    .st4 {
                        fill: #172A88;
                    }

                    .st5 {
                        fill: #F8B62D;
                    }

                    .st6 {
                        fill: none;
                        stroke: #F8B62D;
                        stroke-width: 13;
                        stroke-miterlimit: 10;
                    }

                    .st7 {
                        fill: none;
                        stroke: #172A88;
                        stroke-width: 13;
                        stroke-miterlimit: 10;
                    }
                </style>
                <g>
                    <g>
                        <g>
                            <line class="st0" x1="398.1" y1="625.9" x2="768.69" y2="625.9" />
                            <g>
                                <polygon class="st1"
                                    points="739.48,664.42 755.84,625.9 739.48,587.39 830.77,625.9     " />
                            </g>
                        </g>
                    </g>
                    <g>
                        <g>
                            <line class="st2" x1="398.1" y1="625.9" x2="237.13" y2="786.87" />
                            <g>
                                <polygon class="st3"
                                    points="230.55,738.99 246.21,777.79 285.01,793.45 193.23,830.77     " />
                            </g>
                        </g>
                    </g>
                    <g>
                        <path class="st4"
                            d="M450.5,335.02v-5.18l15.41-23.42h-13.92v-7.15h24.48v5.18l-15.41,23.38h15.55v7.2H450.5z" />
                        <path
                            d="M496.82,295.13l2.21,0.38c-0.38,2.56-0.88,5.05-1.49,7.46c-0.61,2.42-1.31,4.68-2.11,6.79c-0.8,2.11-1.7,4-2.69,5.66    c-0.13-0.13-0.31-0.28-0.55-0.46c-0.24-0.18-0.49-0.34-0.74-0.48c-0.26-0.14-0.46-0.26-0.62-0.36c1.02-1.57,1.92-3.37,2.69-5.4    c0.77-2.03,1.42-4.21,1.97-6.53C496.02,299.89,496.46,297.53,496.82,295.13z M497.39,337.9c-0.06-0.16-0.19-0.35-0.38-0.58    c-0.19-0.22-0.38-0.44-0.58-0.65c-0.19-0.21-0.37-0.38-0.53-0.5c0.35-0.29,0.76-0.82,1.22-1.58s0.7-1.71,0.7-2.83v-19.87h2.26    v22.22c-0.54,0.58-0.98,1.08-1.32,1.51s-0.65,0.86-0.94,1.27C497.54,337.3,497.39,337.64,497.39,337.9z M496.05,302.95h10.03v2.11    h-10.03V302.95z M497.39,337.85l-0.29-2.26l0.82-1.44l7.78-6.19c0.1,0.29,0.23,0.62,0.41,0.98c0.18,0.37,0.34,0.66,0.5,0.89    c-1.89,1.54-3.41,2.79-4.56,3.77c-1.15,0.98-2.03,1.73-2.64,2.26c-0.61,0.53-1.06,0.94-1.34,1.25    C497.78,337.41,497.55,337.66,497.39,337.85z M505.36,302.95h0.43l0.43-0.14l1.54,0.58c-0.51,1.7-1.11,3.44-1.8,5.23    c-0.69,1.79-1.38,3.3-2.09,4.51l-1.87-0.72c0.61-1.15,1.22-2.56,1.85-4.22c0.62-1.66,1.13-3.23,1.51-4.7V302.95z M514.82,295.03    l2.11,0.53c-0.64,2.11-1.41,4.18-2.3,6.19c-0.9,2.02-1.88,3.9-2.95,5.66c-1.07,1.76-2.22,3.33-3.43,4.7    c-0.06-0.13-0.19-0.3-0.38-0.53c-0.19-0.22-0.38-0.46-0.58-0.7c-0.19-0.24-0.37-0.42-0.53-0.55c1.73-1.89,3.28-4.18,4.66-6.89    C512.78,300.75,513.92,297.94,514.82,295.03z M511.55,308.9h2.21v24.19c0,0.64,0.09,1.14,0.26,1.49c0.18,0.35,0.53,0.59,1.06,0.72    c0.53,0.13,1.32,0.19,2.38,0.19c0.29,0,0.82,0,1.58,0c0.77,0,1.65,0,2.64,0c0.99,0,2,0,3.02,0s1.95,0,2.78,0s1.44,0,1.82,0    c0.86,0,1.5-0.15,1.92-0.46c0.42-0.3,0.71-0.9,0.89-1.78c0.18-0.88,0.3-2.15,0.36-3.82c0.32,0.19,0.69,0.38,1.1,0.55    c0.42,0.18,0.78,0.3,1.1,0.36c-0.13,1.86-0.34,3.32-0.65,4.39c-0.3,1.07-0.82,1.82-1.54,2.26c-0.72,0.43-1.77,0.65-3.14,0.65    c-0.22,0-0.74,0-1.54,0s-1.74,0-2.81,0c-1.07,0-2.14,0-3.22,0c-1.07,0-2.01,0-2.81,0s-1.3,0-1.49,0c-1.54,0-2.74-0.12-3.6-0.36    c-0.86-0.24-1.47-0.69-1.82-1.34c-0.35-0.66-0.53-1.61-0.53-2.86V308.9z M512.32,308.9h12.19v14.06h-12.19v-2.06h10.03v-9.94    h-10.03V308.9z M513.76,300.65h16.66v2.16h-16.66V300.65z M529.6,300.65h2.21c0,0.32,0,0.58,0,0.77s0,0.37,0,0.53    c-0.03,4.19-0.06,7.72-0.1,10.58c-0.03,2.86-0.09,5.19-0.17,6.98c-0.08,1.79-0.19,3.16-0.34,4.1c-0.14,0.94-0.34,1.59-0.6,1.94    c-0.29,0.42-0.64,0.72-1.06,0.91c-0.42,0.19-0.93,0.3-1.54,0.34c-0.54,0.06-1.26,0.08-2.16,0.05c-0.9-0.03-1.82-0.08-2.78-0.14    c0-0.26-0.06-0.59-0.17-1.01c-0.11-0.42-0.28-0.77-0.5-1.06c1.09,0.06,2.08,0.11,2.98,0.14c0.9,0.03,1.52,0.05,1.87,0.05    c0.32,0,0.59-0.04,0.82-0.12c0.22-0.08,0.42-0.25,0.58-0.5c0.16-0.26,0.3-0.84,0.43-1.75c0.13-0.91,0.23-2.26,0.31-4.03    c0.08-1.78,0.13-4.07,0.14-6.89c0.02-2.82,0.04-6.29,0.07-10.42V300.65z" />
                        <path
                            d="M549.38,309.81l1.78,0.67c-0.61,1.79-1.34,3.66-2.18,5.59c-0.85,1.94-1.79,3.83-2.83,5.69c-1.04,1.86-2.1,3.57-3.19,5.14    s-2.16,2.91-3.22,4.03c-0.16-0.32-0.38-0.69-0.67-1.1c-0.29-0.42-0.54-0.75-0.77-1.01c1.02-1.02,2.08-2.26,3.17-3.72    c1.09-1.46,2.14-3.03,3.14-4.73c1.01-1.7,1.92-3.45,2.74-5.26C548.15,313.31,548.83,311.54,549.38,309.81z M539.54,309.1h21.41    v2.21h-21.41V309.1z M558.69,295.46l1.63,1.78c-1.6,0.64-3.5,1.22-5.69,1.73c-2.19,0.51-4.48,0.96-6.86,1.34    c-2.38,0.38-4.68,0.7-6.89,0.96c-0.06-0.26-0.17-0.56-0.31-0.91s-0.28-0.67-0.41-0.96c2.14-0.29,4.38-0.63,6.72-1.03    c2.34-0.4,4.54-0.85,6.62-1.34C555.58,296.53,557.31,296.01,558.69,295.46z M549.42,298.58h2.3v39.89h-2.3V298.58z M551.63,312.65    c0.32,0.32,0.77,0.82,1.34,1.49s1.22,1.43,1.94,2.28c0.72,0.85,1.44,1.69,2.16,2.52c0.72,0.83,1.36,1.59,1.92,2.28    c0.56,0.69,0.97,1.19,1.22,1.51l-1.54,1.92c-0.42-0.58-0.99-1.37-1.73-2.38c-0.74-1.01-1.53-2.07-2.38-3.19    c-0.85-1.12-1.66-2.15-2.45-3.1c-0.79-0.94-1.38-1.67-1.8-2.18L551.63,312.65z M562.82,299.4h17.09v36.82h-2.3v-34.56h-12.53v34.9    h-2.26V299.4z M563.68,330.26h15.26v2.26h-15.26V330.26z" />
                        <path
                            d="M591.42,300.12h2.3v13.2c0,1.82-0.06,3.82-0.17,5.98c-0.11,2.16-0.33,4.38-0.65,6.65c-0.32,2.27-0.78,4.49-1.39,6.65    c-0.61,2.16-1.42,4.17-2.45,6.02c-0.13-0.13-0.32-0.26-0.58-0.41s-0.51-0.29-0.77-0.43c-0.26-0.14-0.48-0.23-0.67-0.26    c1.02-1.79,1.82-3.73,2.38-5.81c0.56-2.08,0.99-4.2,1.3-6.36c0.3-2.16,0.5-4.26,0.58-6.31c0.08-2.05,0.12-3.95,0.12-5.71V300.12z     M592.53,300.12h37.73v2.21h-37.73V300.12z M623.39,322.44h0.48l0.43-0.1l1.49,0.86c-1.34,2.43-3.12,4.52-5.33,6.26    c-2.21,1.74-4.7,3.2-7.49,4.37c-2.78,1.17-5.74,2.11-8.86,2.83c-3.12,0.72-6.28,1.27-9.48,1.66c-0.1-0.29-0.24-0.63-0.43-1.03    c-0.19-0.4-0.38-0.73-0.58-0.98c3.04-0.32,6.07-0.8,9.1-1.44c3.02-0.64,5.88-1.5,8.57-2.57c2.69-1.07,5.07-2.38,7.15-3.94    c2.08-1.55,3.73-3.38,4.94-5.5V322.44z M595.02,308.47h34.66v2.02h-34.66V308.47z M595.89,322.44h28.13v2.11h-28.13V322.44z     M603.33,324.31c1.6,2.34,3.78,4.34,6.55,6.02c2.77,1.68,5.94,3.04,9.53,4.08s7.39,1.77,11.42,2.18c-0.16,0.16-0.33,0.36-0.5,0.6    c-0.18,0.24-0.34,0.48-0.48,0.72c-0.14,0.24-0.28,0.47-0.41,0.7c-4.03-0.54-7.86-1.38-11.47-2.5c-3.62-1.12-6.86-2.58-9.72-4.39    c-2.86-1.81-5.18-3.99-6.94-6.55L603.33,324.31z M603.47,303.67h2.26v13.06h13.39v-13.06h2.3v15.02h-17.95V303.67z M607.98,295.42    l2.26-0.62c0.58,0.93,1.16,1.95,1.75,3.07c0.59,1.12,1.02,2.06,1.27,2.83l-2.3,0.77c-0.29-0.8-0.7-1.78-1.25-2.93    S608.59,296.34,607.98,295.42z" />
                        <path
                            d="M644.95,316.77c0-2.98,0.38-5.79,1.13-8.45c0.75-2.66,1.85-5.18,3.29-7.56c1.44-2.38,3.17-4.62,5.18-6.7l1.87,1.15    c-1.95,1.98-3.62,4.13-4.99,6.43c-1.38,2.3-2.41,4.71-3.1,7.22c-0.69,2.51-1.03,5.14-1.03,7.9c0,2.72,0.34,5.34,1.03,7.87    c0.69,2.53,1.72,4.94,3.1,7.22c1.38,2.29,3.04,4.44,4.99,6.46l-1.87,1.15c-2.02-2.11-3.74-4.35-5.18-6.72    c-1.44-2.37-2.54-4.89-3.29-7.56C645.32,322.53,644.95,319.72,644.95,316.77z" />
                        <path
                            d="M669.81,335.64c-2.18,0-4.03-0.69-5.57-2.06c-1.54-1.38-2.71-3.38-3.53-6.02c-0.82-2.64-1.22-5.85-1.22-9.62    c0-3.78,0.41-6.97,1.22-9.58c0.82-2.61,1.99-4.58,3.53-5.93c1.54-1.34,3.39-2.02,5.57-2.02c2.18,0,4.03,0.67,5.57,2.02    c1.54,1.34,2.7,3.32,3.5,5.93c0.8,2.61,1.2,5.8,1.2,9.58c0,3.78-0.4,6.98-1.2,9.62c-0.8,2.64-1.97,4.65-3.5,6.02    C673.84,334.95,671.98,335.64,669.81,335.64z M669.81,333.24c1.5,0,2.82-0.57,3.96-1.7c1.14-1.14,2.01-2.84,2.62-5.11    c0.61-2.27,0.91-5.1,0.91-8.5c0-3.42-0.3-6.26-0.91-8.5c-0.61-2.24-1.48-3.91-2.62-5.02c-1.14-1.1-2.46-1.66-3.96-1.66    c-1.5,0-2.83,0.55-3.96,1.66c-1.14,1.1-2.02,2.78-2.64,5.02c-0.62,2.24-0.94,5.07-0.94,8.5c0,3.39,0.31,6.22,0.94,8.5    c0.62,2.27,1.5,3.98,2.64,5.11C666.98,332.67,668.3,333.24,669.81,333.24z" />
                        <path
                            d="M700.24,320.95c-1.02,0-1.96-0.23-2.81-0.7s-1.65-1.01-2.4-1.63c-0.75-0.62-1.49-1.18-2.21-1.66s-1.45-0.72-2.18-0.72    c-0.8,0-1.54,0.25-2.23,0.74c-0.69,0.5-1.35,1.35-1.99,2.57l-1.68-1.1c0.8-1.54,1.74-2.66,2.81-3.38    c1.07-0.72,2.14-1.08,3.19-1.08c1.02,0,1.96,0.24,2.81,0.72c0.85,0.48,1.64,1.02,2.38,1.63c0.74,0.61,1.46,1.15,2.18,1.63    c0.72,0.48,1.46,0.72,2.23,0.72c0.77,0,1.5-0.25,2.18-0.74c0.69-0.5,1.35-1.35,1.99-2.57l1.68,1.2c-0.8,1.47-1.73,2.57-2.78,3.29    C702.35,320.59,701.29,320.95,700.24,320.95z" />
                        <path
                            d="M710.46,335.02v-1.73c3.68-3.71,6.74-6.94,9.17-9.67c2.43-2.74,4.27-5.18,5.52-7.34c1.25-2.16,1.87-4.23,1.87-6.22    c0-1.38-0.25-2.62-0.74-3.72s-1.27-1.98-2.33-2.62c-1.06-0.64-2.42-0.96-4.08-0.96c-1.5,0-2.92,0.42-4.25,1.25    c-1.33,0.83-2.5,1.87-3.53,3.12l-1.78-1.68c1.31-1.47,2.75-2.68,4.32-3.62c1.57-0.94,3.41-1.42,5.52-1.42    c2.05,0,3.79,0.4,5.23,1.2c1.44,0.8,2.54,1.92,3.31,3.36c0.77,1.44,1.15,3.12,1.15,5.04c0,2.21-0.63,4.46-1.9,6.74    c-1.26,2.29-3.04,4.73-5.33,7.32c-2.29,2.59-4.95,5.5-7.99,8.74c0.93-0.06,1.89-0.13,2.88-0.19c0.99-0.06,1.94-0.1,2.83-0.1h11.23    v2.5H710.46z" />
                        <path
                            d="M746.13,335.64c-1.79,0-3.36-0.23-4.7-0.7c-1.34-0.46-2.5-1.04-3.48-1.73c-0.98-0.69-1.85-1.4-2.62-2.14l1.58-1.97    c0.67,0.7,1.42,1.37,2.26,1.99s1.81,1.13,2.93,1.51c1.12,0.38,2.43,0.58,3.94,0.58c1.47,0,2.83-0.36,4.08-1.08    c1.25-0.72,2.24-1.74,2.98-3.07c0.74-1.33,1.1-2.87,1.1-4.63c0-2.66-0.73-4.74-2.18-6.24c-1.46-1.5-3.4-2.26-5.83-2.26    c-1.25,0-2.34,0.21-3.29,0.62c-0.94,0.42-1.91,0.96-2.9,1.63l-1.82-1.15l1.2-15.98h15.98v2.5h-13.49l-1.01,11.71    c0.83-0.48,1.72-0.87,2.66-1.18c0.94-0.3,2.01-0.46,3.19-0.46c1.92,0,3.67,0.38,5.26,1.13s2.84,1.92,3.77,3.5    c0.93,1.58,1.39,3.61,1.39,6.07c0,2.4-0.54,4.45-1.61,6.14c-1.07,1.7-2.44,2.98-4.1,3.86    C749.74,335.2,747.98,335.64,746.13,335.64z" />
                        <path
                            d="M771.81,335.64c-1.79,0-3.36-0.23-4.7-0.7c-1.34-0.46-2.5-1.04-3.48-1.73c-0.98-0.69-1.85-1.4-2.62-2.14l1.58-1.97    c0.67,0.7,1.42,1.37,2.26,1.99s1.81,1.13,2.93,1.51c1.12,0.38,2.43,0.58,3.94,0.58c1.47,0,2.83-0.36,4.08-1.08    c1.25-0.72,2.24-1.74,2.98-3.07c0.74-1.33,1.1-2.87,1.1-4.63c0-2.66-0.73-4.74-2.18-6.24c-1.46-1.5-3.4-2.26-5.83-2.26    c-1.25,0-2.34,0.21-3.29,0.62c-0.94,0.42-1.91,0.96-2.9,1.63l-1.82-1.15l1.2-15.98h15.98v2.5h-13.49l-1.01,11.71    c0.83-0.48,1.72-0.87,2.66-1.18c0.94-0.3,2.01-0.46,3.19-0.46c1.92,0,3.67,0.38,5.26,1.13s2.84,1.92,3.77,3.5    c0.93,1.58,1.39,3.61,1.39,6.07c0,2.4-0.54,4.45-1.61,6.14c-1.07,1.7-2.44,2.98-4.1,3.86    C775.42,335.2,773.66,335.64,771.81,335.64z" />
                        <path
                            d="M797.34,316.77c0,2.94-0.38,5.75-1.13,8.42c-0.75,2.67-1.84,5.19-3.26,7.56s-3.16,4.61-5.21,6.72l-1.87-1.15    c1.95-2.02,3.62-4.17,4.99-6.46c1.38-2.29,2.41-4.7,3.1-7.22c0.69-2.53,1.03-5.15,1.03-7.87c0-2.75-0.34-5.38-1.03-7.9    c-0.69-2.51-1.72-4.92-3.1-7.22c-1.38-2.3-3.04-4.45-4.99-6.43l1.87-1.15c2.05,2.08,3.78,4.31,5.21,6.7    c1.42,2.38,2.51,4.9,3.26,7.56C796.96,310.98,797.34,313.8,797.34,316.77z" />
                    </g>
                    <g>
                        <path class="st5"
                            d="M452.75,420.73v-35.76h13.1c2.56,0,4.9,0.34,7.01,1.01c2.11,0.67,3.8,1.83,5.06,3.48    c1.26,1.65,1.9,3.91,1.9,6.79c0,2.78-0.63,5.06-1.9,6.82c-1.26,1.76-2.95,3.05-5.06,3.86c-2.11,0.82-4.45,1.22-7.01,1.22h-4.51    v12.58H452.75z M461.34,401.39h3.84c2.05,0,3.61-0.44,4.68-1.32c1.07-0.88,1.61-2.15,1.61-3.82c0-1.7-0.54-2.86-1.61-3.5    c-1.07-0.64-2.63-0.96-4.68-0.96h-3.84V401.39z M472.05,420.73l-7.73-14.78l5.81-5.62l11.52,20.4H472.05z" />
                        <path
                            d="M510.74,380.65l2.11,0.77c-1.18,2.4-2.63,4.7-4.34,6.91c-1.71,2.21-3.56,4.24-5.54,6.1c-1.98,1.86-4.02,3.49-6.1,4.9    c-0.06-0.16-0.18-0.38-0.34-0.65c-0.16-0.27-0.34-0.55-0.53-0.84c-0.19-0.29-0.37-0.5-0.53-0.62c2.02-1.28,3.98-2.78,5.9-4.49    s3.68-3.59,5.28-5.64C508.26,385.04,509.62,382.89,510.74,380.65z M501.95,393.95h2.26v23.76c0,0.93,0.17,1.66,0.5,2.21    s0.96,0.92,1.87,1.13c0.91,0.21,2.25,0.31,4.01,0.31c0.51,0,1.42,0,2.74,0c1.31,0,2.81,0,4.49,0c1.68,0,3.38,0,5.11,0    c1.73,0,3.3,0,4.73,0c1.42,0,2.49,0,3.19,0c1.6,0,2.8-0.22,3.6-0.65c0.8-0.43,1.37-1.23,1.7-2.4c0.34-1.17,0.58-2.86,0.74-5.06    c0.35,0.22,0.74,0.42,1.18,0.6c0.43,0.18,0.82,0.3,1.18,0.36c-0.19,1.82-0.43,3.34-0.72,4.54c-0.29,1.2-0.73,2.16-1.32,2.88    c-0.59,0.72-1.41,1.22-2.45,1.51s-2.39,0.43-4.06,0.43c-0.29,0-0.93,0-1.92,0c-0.99,0-2.19,0-3.6,0s-2.88,0-4.42,0s-3,0-4.39,0    c-1.39,0-2.58,0-3.58,0c-0.99,0-1.62,0-1.87,0c-2.27,0-4.06-0.16-5.38-0.48c-1.31-0.32-2.24-0.91-2.78-1.78s-0.82-2.1-0.82-3.7    V393.95z M503.34,393.95h30.96v16.85h-2.35V396.2h-28.61V393.95z M503.34,406.09h29.81v2.21h-29.81V406.09z M508.91,385.16h15.7    v2.16h-16.75L508.91,385.16z M516.54,394.67h2.3v12.72h-2.3V394.67z M523.79,385.16h0.53l0.48-0.14l1.58,1.06    c-0.7,1.15-1.52,2.34-2.45,3.55c-0.93,1.22-1.89,2.36-2.88,3.43c-0.99,1.07-1.95,2.02-2.88,2.86c-0.19-0.22-0.44-0.46-0.74-0.72    c-0.3-0.26-0.57-0.48-0.79-0.67c0.9-0.74,1.79-1.62,2.69-2.64c0.9-1.02,1.74-2.08,2.52-3.17s1.43-2.1,1.94-3.02V385.16z" />
                        <path
                            d="M552.11,392.41l1.78,0.58c-0.48,1.95-1.06,3.96-1.75,6.02c-0.69,2.06-1.46,4.09-2.3,6.07c-0.85,1.98-1.75,3.82-2.71,5.52    c-0.96,1.7-1.92,3.14-2.88,4.32c-0.16-0.29-0.38-0.63-0.65-1.03c-0.27-0.4-0.52-0.71-0.74-0.94c0.93-1.12,1.86-2.46,2.78-4.01    c0.93-1.55,1.81-3.25,2.64-5.11c0.83-1.86,1.58-3.76,2.26-5.71C551.2,396.17,551.73,394.27,552.11,392.41z M543.91,391.21h17.95    v2.26h-17.95V391.21z M552.21,380.65h2.26v43.54h-2.26V380.65z M554.22,398.31c0.35,0.32,0.88,0.87,1.58,1.66s1.47,1.63,2.3,2.54    c0.83,0.91,1.59,1.76,2.28,2.54c0.69,0.78,1.18,1.35,1.46,1.7l-1.63,1.97c-0.32-0.54-0.81-1.24-1.46-2.09    c-0.66-0.85-1.36-1.74-2.11-2.66c-0.75-0.93-1.47-1.8-2.16-2.62c-0.69-0.82-1.22-1.43-1.61-1.85L554.22,398.31z M564.16,383.63    h21.17v40.32h-2.3v-38.06h-16.56V424h-2.3V383.63z M565.41,395.15h18.67v2.21h-18.67V395.15z M565.41,418.76h18.72v2.21h-18.72    V418.76z M565.46,406.96h18.72v2.16h-18.72V406.96z" />
                        <path
                            d="M601.22,402.49c0-2.98,0.38-5.79,1.13-8.45c0.75-2.66,1.85-5.18,3.29-7.56c1.44-2.38,3.17-4.62,5.18-6.7l1.87,1.15    c-1.95,1.98-3.62,4.13-4.99,6.43c-1.38,2.3-2.41,4.71-3.1,7.22c-0.69,2.51-1.03,5.14-1.03,7.9c0,2.72,0.34,5.34,1.03,7.87    c0.69,2.53,1.72,4.94,3.1,7.22s3.04,4.44,4.99,6.46l-1.87,1.15c-2.02-2.11-3.74-4.35-5.18-6.72c-1.44-2.37-2.54-4.89-3.29-7.56    C601.59,408.24,601.22,405.44,601.22,402.49z" />
                        <path
                            d="M626.08,421.35c-2.18,0-4.03-0.69-5.57-2.06s-2.71-3.38-3.53-6.02c-0.82-2.64-1.22-5.85-1.22-9.62    c0-3.78,0.41-6.97,1.22-9.58c0.82-2.61,1.99-4.58,3.53-5.93s3.39-2.02,5.57-2.02c2.18,0,4.03,0.67,5.57,2.02    c1.54,1.34,2.7,3.32,3.5,5.93c0.8,2.61,1.2,5.8,1.2,9.58c0,3.78-0.4,6.98-1.2,9.62s-1.97,4.65-3.5,6.02    C630.11,420.67,628.26,421.35,626.08,421.35z M626.08,418.96c1.5,0,2.82-0.57,3.96-1.7c1.14-1.14,2.01-2.84,2.62-5.11    c0.61-2.27,0.91-5.1,0.91-8.5c0-3.42-0.3-6.26-0.91-8.5c-0.61-2.24-1.48-3.91-2.62-5.02c-1.14-1.1-2.46-1.66-3.96-1.66    c-1.5,0-2.83,0.55-3.96,1.66c-1.14,1.1-2.02,2.78-2.64,5.02c-0.62,2.24-0.94,5.07-0.94,8.5c0,3.39,0.31,6.22,0.94,8.5    c0.62,2.27,1.5,3.98,2.64,5.11C623.26,418.39,624.58,418.96,626.08,418.96z" />
                        <path
                            d="M656.51,406.67c-1.02,0-1.96-0.23-2.81-0.7s-1.65-1.01-2.4-1.63c-0.75-0.62-1.49-1.18-2.21-1.66    c-0.72-0.48-1.45-0.72-2.18-0.72c-0.8,0-1.54,0.25-2.23,0.74c-0.69,0.5-1.35,1.35-1.99,2.57l-1.68-1.1    c0.8-1.54,1.74-2.66,2.81-3.38c1.07-0.72,2.14-1.08,3.19-1.08c1.02,0,1.96,0.24,2.81,0.72c0.85,0.48,1.64,1.02,2.38,1.63    c0.74,0.61,1.46,1.15,2.18,1.63c0.72,0.48,1.46,0.72,2.23,0.72c0.77,0,1.5-0.25,2.18-0.74c0.69-0.5,1.35-1.35,1.99-2.57l1.68,1.2    c-0.8,1.47-1.73,2.57-2.78,3.29C658.62,406.31,657.57,406.67,656.51,406.67z" />
                        <path
                            d="M676.91,421.35c-1.79,0-3.36-0.23-4.7-0.7c-1.34-0.46-2.52-1.06-3.53-1.8c-1.01-0.74-1.86-1.5-2.57-2.3l1.54-1.87    c1.02,1.06,2.26,2.02,3.7,2.9c1.44,0.88,3.28,1.32,5.52,1.32c1.54,0,2.88-0.29,4.03-0.89c1.15-0.59,2.06-1.42,2.74-2.5    c0.67-1.07,1.01-2.33,1.01-3.77c0-1.54-0.39-2.87-1.18-4.01s-2.02-2.02-3.72-2.66c-1.7-0.64-3.94-0.96-6.72-0.96v-2.35    c2.59,0,4.63-0.32,6.12-0.96c1.49-0.64,2.56-1.5,3.22-2.59c0.66-1.09,0.98-2.29,0.98-3.6c0-1.86-0.59-3.34-1.78-4.46    c-1.18-1.12-2.78-1.68-4.8-1.68c-1.54,0-2.96,0.35-4.27,1.06c-1.31,0.71-2.43,1.58-3.36,2.64l-1.63-1.87    c1.22-1.15,2.58-2.14,4.08-2.95s3.25-1.22,5.23-1.22c1.79,0,3.41,0.33,4.85,0.98c1.44,0.66,2.58,1.6,3.41,2.83    c0.83,1.23,1.25,2.73,1.25,4.49c0,2.18-0.61,3.94-1.82,5.3c-1.22,1.36-2.75,2.36-4.61,3v0.19c1.38,0.32,2.65,0.87,3.82,1.66    s2.1,1.78,2.78,2.98c0.69,1.2,1.03,2.6,1.03,4.2c0,1.98-0.47,3.69-1.42,5.11c-0.94,1.42-2.22,2.53-3.82,3.31    C680.69,420.96,678.89,421.35,676.91,421.35z" />
                        <path
                            d="M704.22,421.35c-1.7,0-3.23-0.34-4.61-1.03c-1.38-0.69-2.56-1.72-3.55-3.1c-0.99-1.38-1.75-3.06-2.28-5.06    c-0.53-2-0.79-4.31-0.79-6.94c0-3.52,0.34-6.5,1.01-8.93c0.67-2.43,1.6-4.4,2.78-5.9c1.18-1.5,2.53-2.59,4.03-3.26    s3.09-1.01,4.75-1.01c1.63,0,3.06,0.31,4.27,0.94c1.22,0.62,2.26,1.43,3.12,2.42l-1.63,1.82c-0.7-0.9-1.56-1.58-2.57-2.04    c-1.01-0.46-2.07-0.7-3.19-0.7c-1.76,0-3.38,0.52-4.87,1.56c-1.49,1.04-2.68,2.78-3.58,5.21c-0.9,2.43-1.34,5.73-1.34,9.89    c0,2.82,0.31,5.25,0.94,7.3c0.62,2.05,1.56,3.64,2.81,4.78s2.83,1.7,4.75,1.7c1.28,0,2.42-0.37,3.43-1.1    c1.01-0.74,1.8-1.73,2.38-2.98s0.86-2.66,0.86-4.22c0-1.63-0.25-3.06-0.74-4.3c-0.5-1.23-1.27-2.2-2.33-2.9    c-1.06-0.7-2.42-1.06-4.08-1.06c-1.22,0-2.54,0.4-3.98,1.2c-1.44,0.8-2.85,2.18-4.22,4.13l-0.1-2.69c0.8-1.02,1.66-1.9,2.59-2.62    c0.93-0.72,1.92-1.28,2.98-1.68c1.06-0.4,2.1-0.6,3.12-0.6c1.98,0,3.69,0.4,5.11,1.2c1.42,0.8,2.51,1.98,3.26,3.53    s1.13,3.48,1.13,5.78c0,2.08-0.43,3.92-1.3,5.52c-0.86,1.6-2.01,2.86-3.43,3.77C707.53,420.9,705.95,421.35,704.22,421.35z" />
                        <path
                            d="M728.8,421.35c-2.18,0-4.03-0.69-5.57-2.06s-2.71-3.38-3.53-6.02c-0.82-2.64-1.22-5.85-1.22-9.62    c0-3.78,0.41-6.97,1.22-9.58c0.82-2.61,1.99-4.58,3.53-5.93s3.39-2.02,5.57-2.02c2.18,0,4.03,0.67,5.57,2.02    c1.54,1.34,2.7,3.32,3.5,5.93c0.8,2.61,1.2,5.8,1.2,9.58c0,3.78-0.4,6.98-1.2,9.62s-1.97,4.65-3.5,6.02    C732.83,420.67,730.97,421.35,728.8,421.35z M728.8,418.96c1.5,0,2.82-0.57,3.96-1.7c1.14-1.14,2.01-2.84,2.62-5.11    c0.61-2.27,0.91-5.1,0.91-8.5c0-3.42-0.3-6.26-0.91-8.5c-0.61-2.24-1.48-3.91-2.62-5.02c-1.14-1.1-2.46-1.66-3.96-1.66    c-1.5,0-2.83,0.55-3.96,1.66c-1.14,1.1-2.02,2.78-2.64,5.02c-0.62,2.24-0.94,5.07-0.94,8.5c0,3.39,0.31,6.22,0.94,8.5    c0.62,2.27,1.5,3.98,2.64,5.11C725.97,418.39,727.29,418.96,728.8,418.96z" />
                        <path
                            d="M753.61,402.49c0,2.95-0.38,5.75-1.13,8.42s-1.84,5.19-3.26,7.56c-1.42,2.37-3.16,4.61-5.21,6.72l-1.87-1.15    c1.95-2.02,3.62-4.17,4.99-6.46c1.38-2.29,2.41-4.7,3.1-7.22c0.69-2.53,1.03-5.15,1.03-7.87c0-2.75-0.34-5.38-1.03-7.9    c-0.69-2.51-1.72-4.92-3.1-7.22c-1.38-2.3-3.04-4.45-4.99-6.43l1.87-1.15c2.05,2.08,3.78,4.31,5.21,6.7    c1.42,2.38,2.51,4.9,3.26,7.56S753.61,399.51,753.61,402.49z" />
                    </g>
                    <g>
                        <path class="st1"
                            d="M458.95,512.76v-12.62L448.19,477h9.12l2.98,7.97c0.48,1.34,0.95,2.66,1.42,3.94    c0.46,1.28,0.95,2.62,1.46,4.03h0.19c0.51-1.41,1.01-2.75,1.49-4.03c0.48-1.28,0.98-2.59,1.49-3.94l2.98-7.97h8.98l-10.8,23.14    v12.62H458.95z" />
                        <path
                            d="M492.59,475.8h2.26v32.88h-2.26V475.8z M493.94,475.8h13.78v28.18h-13.78v-2.21h11.57v-23.71h-11.57V475.8z     M493.98,488.56h12.58v2.16h-12.58V488.56z M512.8,474.84h2.26v16.94c0,1.98-0.1,4.08-0.31,6.29c-0.21,2.21-0.64,4.41-1.3,6.6    c-0.66,2.19-1.62,4.31-2.9,6.36c-1.28,2.05-2.99,3.9-5.14,5.57c-0.1-0.16-0.24-0.34-0.43-0.55c-0.19-0.21-0.4-0.42-0.62-0.62    c-0.22-0.21-0.42-0.36-0.58-0.46c2.05-1.6,3.67-3.34,4.87-5.23c1.2-1.89,2.09-3.86,2.69-5.9c0.59-2.05,0.98-4.09,1.18-6.12    c0.19-2.03,0.29-4.01,0.29-5.93V474.84z M513.66,498.64h17.38v2.16h-17.38V498.64z M514.14,474.84h16.99v2.21h-16.99V474.84z     M514.14,486.6h16.99v2.16h-16.99V486.6z M530.27,474.84h2.3v37.82c0,0.93-0.14,1.62-0.41,2.09c-0.27,0.46-0.74,0.81-1.42,1.03    c-0.67,0.19-1.66,0.3-2.98,0.34c-1.31,0.03-3.01,0.05-5.09,0.05c-0.07-0.19-0.14-0.43-0.24-0.72c-0.1-0.29-0.2-0.57-0.31-0.84    c-0.11-0.27-0.23-0.52-0.36-0.74c1.12,0.03,2.18,0.05,3.19,0.05s1.87-0.01,2.59-0.02c0.72-0.02,1.22-0.02,1.51-0.02    c0.45,0,0.76-0.09,0.94-0.26c0.18-0.18,0.26-0.47,0.26-0.89V474.84z" />
                        <path
                            d="M551.68,501.28h2.35c-0.1,2.37-0.37,4.39-0.82,6.07c-0.45,1.68-1.14,3.1-2.09,4.25c-0.94,1.15-2.25,2.1-3.91,2.86    c-1.66,0.75-3.78,1.38-6.34,1.9c-0.06-0.22-0.17-0.45-0.31-0.67c-0.14-0.22-0.3-0.46-0.46-0.7c-0.16-0.24-0.32-0.42-0.48-0.55    c2.43-0.38,4.42-0.9,5.95-1.56c1.54-0.66,2.73-1.48,3.58-2.47c0.85-0.99,1.46-2.23,1.82-3.72    C551.35,505.2,551.58,503.4,551.68,501.28z M539.68,477.72h41.38v2.11h-41.38V477.72z M540.69,495.33h39.36v7.2h-2.3v-5.14h-34.8    v5.18h-2.26V495.33z M546.4,482.95h28.42v8.78H546.4V482.95z M548.7,484.87v4.94h23.76v-4.94H548.7z M552.59,501.28h15.5v2.06    h-15.5V501.28z M557.97,473.11l2.16-0.58c0.61,0.77,1.19,1.64,1.75,2.62c0.56,0.98,0.98,1.82,1.27,2.52l-2.3,0.72    c-0.29-0.74-0.7-1.6-1.25-2.59C559.06,474.8,558.51,473.91,557.97,473.11z M566.61,501.28h2.4v10.94c0,0.54,0.12,0.9,0.36,1.06    s0.79,0.24,1.66,0.24c0.19,0,0.54,0,1.06,0c0.51,0,1.1,0,1.75,0c0.66,0,1.26,0,1.82,0c0.56,0,0.97,0,1.22,0    c0.48,0,0.85-0.13,1.1-0.38c0.26-0.26,0.44-0.77,0.55-1.54c0.11-0.77,0.18-1.95,0.22-3.55c0.19,0.1,0.41,0.21,0.65,0.34    c0.24,0.13,0.49,0.23,0.74,0.31c0.26,0.08,0.5,0.14,0.72,0.17c-0.06,1.79-0.21,3.17-0.43,4.13c-0.22,0.96-0.59,1.63-1.1,2.02    c-0.51,0.38-1.23,0.58-2.16,0.58c-0.19,0-0.59,0-1.2,0c-0.61,0-1.28,0-2.02,0c-0.74,0-1.4,0-1.99,0c-0.59,0-0.97,0-1.13,0    c-1.12,0-1.98-0.1-2.59-0.29c-0.61-0.19-1.03-0.54-1.27-1.03s-0.36-1.19-0.36-2.09V501.28z" />
                        <path
                            d="M590.9,477.86h2.3v13.2c0,1.82-0.06,3.82-0.17,5.98c-0.11,2.16-0.33,4.38-0.65,6.65c-0.32,2.27-0.78,4.49-1.39,6.65    c-0.61,2.16-1.42,4.17-2.45,6.02c-0.13-0.13-0.32-0.26-0.58-0.41c-0.26-0.14-0.51-0.29-0.77-0.43c-0.26-0.14-0.48-0.23-0.67-0.26    c1.02-1.79,1.82-3.73,2.38-5.81c0.56-2.08,0.99-4.2,1.3-6.36c0.3-2.16,0.5-4.26,0.58-6.31c0.08-2.05,0.12-3.95,0.12-5.71V477.86z     M592,477.86h37.73v2.21H592V477.86z M622.86,500.18h0.48l0.43-0.1l1.49,0.86c-1.34,2.43-3.12,4.52-5.33,6.26    c-2.21,1.74-4.7,3.2-7.49,4.37c-2.78,1.17-5.74,2.11-8.86,2.83c-3.12,0.72-6.28,1.27-9.48,1.66c-0.1-0.29-0.24-0.63-0.43-1.03    c-0.19-0.4-0.38-0.73-0.58-0.98c3.04-0.32,6.07-0.8,9.1-1.44c3.02-0.64,5.88-1.5,8.57-2.57c2.69-1.07,5.07-2.38,7.15-3.94    c2.08-1.55,3.73-3.38,4.94-5.5V500.18z M594.5,486.21h34.66v2.02H594.5V486.21z M595.36,500.18h28.13v2.11h-28.13V500.18z     M602.8,502.05c1.6,2.34,3.78,4.34,6.55,6.02c2.77,1.68,5.94,3.04,9.53,4.08s7.39,1.77,11.42,2.18c-0.16,0.16-0.33,0.36-0.5,0.6    s-0.34,0.48-0.48,0.72c-0.14,0.24-0.28,0.47-0.41,0.7c-4.03-0.54-7.86-1.38-11.47-2.5c-3.62-1.12-6.86-2.58-9.72-4.39    c-2.86-1.81-5.18-3.99-6.94-6.55L602.8,502.05z M602.94,481.41h2.26v13.06h13.39v-13.06h2.3v15.02h-17.95V481.41z M607.46,473.16    l2.26-0.62c0.58,0.93,1.16,1.95,1.75,3.07c0.59,1.12,1.02,2.06,1.27,2.83l-2.3,0.77c-0.29-0.8-0.7-1.78-1.25-2.93    S608.06,474.08,607.46,473.16z" />
                        <path
                            d="M644.42,494.52c0-2.98,0.38-5.79,1.13-8.45c0.75-2.66,1.85-5.18,3.29-7.56c1.44-2.38,3.17-4.62,5.18-6.7l1.87,1.15    c-1.95,1.98-3.62,4.13-4.99,6.43c-1.38,2.3-2.41,4.71-3.1,7.22c-0.69,2.51-1.03,5.14-1.03,7.9c0,2.72,0.34,5.34,1.03,7.87    c0.69,2.53,1.72,4.94,3.1,7.22c1.38,2.29,3.04,4.44,4.99,6.46l-1.87,1.15c-2.02-2.11-3.74-4.35-5.18-6.72    c-1.44-2.37-2.54-4.89-3.29-7.56C644.79,500.27,644.42,497.46,644.42,494.52z" />
                        <path
                            d="M669.28,513.38c-2.18,0-4.03-0.69-5.57-2.06c-1.54-1.38-2.71-3.38-3.53-6.02c-0.82-2.64-1.22-5.85-1.22-9.62    c0-3.78,0.41-6.97,1.22-9.58c0.82-2.61,1.99-4.58,3.53-5.93c1.54-1.34,3.39-2.02,5.57-2.02c2.18,0,4.03,0.67,5.57,2.02    c1.54,1.34,2.7,3.32,3.5,5.93c0.8,2.61,1.2,5.8,1.2,9.58c0,3.78-0.4,6.98-1.2,9.62c-0.8,2.64-1.97,4.65-3.5,6.02    C673.31,512.69,671.46,513.38,669.28,513.38z M669.28,510.98c1.5,0,2.82-0.57,3.96-1.7c1.14-1.14,2.01-2.84,2.62-5.11    c0.61-2.27,0.91-5.1,0.91-8.5c0-3.42-0.3-6.26-0.91-8.5c-0.61-2.24-1.48-3.91-2.62-5.02c-1.14-1.1-2.46-1.66-3.96-1.66    c-1.5,0-2.83,0.55-3.96,1.66c-1.14,1.1-2.02,2.78-2.64,5.02c-0.62,2.24-0.94,5.07-0.94,8.5c0,3.39,0.31,6.22,0.94,8.5    c0.62,2.27,1.5,3.98,2.64,5.11C666.46,510.41,667.78,510.98,669.28,510.98z" />
                        <path
                            d="M699.71,498.69c-1.02,0-1.96-0.23-2.81-0.7s-1.65-1.01-2.4-1.63c-0.75-0.62-1.49-1.18-2.21-1.66s-1.45-0.72-2.18-0.72    c-0.8,0-1.54,0.25-2.23,0.74c-0.69,0.5-1.35,1.35-1.99,2.57l-1.68-1.1c0.8-1.54,1.74-2.66,2.81-3.38    c1.07-0.72,2.14-1.08,3.19-1.08c1.02,0,1.96,0.24,2.81,0.72c0.85,0.48,1.64,1.02,2.38,1.63c0.74,0.61,1.46,1.15,2.18,1.63    c0.72,0.48,1.46,0.72,2.23,0.72c0.77,0,1.5-0.25,2.18-0.74c0.69-0.5,1.35-1.35,1.99-2.57l1.68,1.2c-0.8,1.47-1.73,2.57-2.78,3.29    C701.82,498.33,700.77,498.69,699.71,498.69z" />
                        <path
                            d="M709.94,512.76v-1.73c3.68-3.71,6.74-6.94,9.17-9.67c2.43-2.74,4.27-5.18,5.52-7.34c1.25-2.16,1.87-4.23,1.87-6.22    c0-1.38-0.25-2.62-0.74-3.72s-1.27-1.98-2.33-2.62c-1.06-0.64-2.42-0.96-4.08-0.96c-1.5,0-2.92,0.42-4.25,1.25    c-1.33,0.83-2.5,1.87-3.53,3.12l-1.78-1.68c1.31-1.47,2.75-2.68,4.32-3.62c1.57-0.94,3.41-1.42,5.52-1.42    c2.05,0,3.79,0.4,5.23,1.2c1.44,0.8,2.54,1.92,3.31,3.36c0.77,1.44,1.15,3.12,1.15,5.04c0,2.21-0.63,4.46-1.9,6.74    c-1.26,2.29-3.04,4.73-5.33,7.32c-2.29,2.59-4.95,5.5-7.99,8.74c0.93-0.06,1.89-0.13,2.88-0.19c0.99-0.06,1.94-0.1,2.83-0.1h11.23    v2.5H709.94z" />
                        <path
                            d="M745.6,513.38c-1.79,0-3.36-0.23-4.7-0.7c-1.34-0.46-2.5-1.04-3.48-1.73c-0.98-0.69-1.85-1.4-2.62-2.14l1.58-1.97    c0.67,0.7,1.42,1.37,2.26,1.99s1.81,1.13,2.93,1.51c1.12,0.38,2.43,0.58,3.94,0.58c1.47,0,2.83-0.36,4.08-1.08    c1.25-0.72,2.24-1.74,2.98-3.07c0.74-1.33,1.1-2.87,1.1-4.63c0-2.66-0.73-4.74-2.18-6.24c-1.46-1.5-3.4-2.26-5.83-2.26    c-1.25,0-2.34,0.21-3.29,0.62c-0.94,0.42-1.91,0.96-2.9,1.63l-1.82-1.15l1.2-15.98h15.98v2.5h-13.49l-1.01,11.71    c0.83-0.48,1.72-0.87,2.66-1.18c0.94-0.3,2.01-0.46,3.19-0.46c1.92,0,3.67,0.38,5.26,1.13s2.84,1.92,3.77,3.5    c0.93,1.58,1.39,3.61,1.39,6.07c0,2.4-0.54,4.45-1.61,6.14c-1.07,1.7-2.44,2.98-4.1,3.86    C749.21,512.94,747.45,513.38,745.6,513.38z" />
                        <path
                            d="M771.28,513.38c-1.79,0-3.36-0.23-4.7-0.7c-1.34-0.46-2.5-1.04-3.48-1.73c-0.98-0.69-1.85-1.4-2.62-2.14l1.58-1.97    c0.67,0.7,1.42,1.37,2.26,1.99s1.81,1.13,2.93,1.51c1.12,0.38,2.43,0.58,3.94,0.58c1.47,0,2.83-0.36,4.08-1.08    c1.25-0.72,2.24-1.74,2.98-3.07c0.74-1.33,1.1-2.87,1.1-4.63c0-2.66-0.73-4.74-2.18-6.24c-1.46-1.5-3.4-2.26-5.83-2.26    c-1.25,0-2.34,0.21-3.29,0.62c-0.94,0.42-1.91,0.96-2.9,1.63l-1.82-1.15l1.2-15.98h15.98v2.5h-13.49L766,492.98    c0.83-0.48,1.72-0.87,2.66-1.18c0.94-0.3,2.01-0.46,3.19-0.46c1.92,0,3.67,0.38,5.26,1.13s2.84,1.92,3.77,3.5    c0.93,1.58,1.39,3.61,1.39,6.07c0,2.4-0.54,4.45-1.61,6.14c-1.07,1.7-2.44,2.98-4.1,3.86    C774.89,512.94,773.13,513.38,771.28,513.38z" />
                        <path
                            d="M796.81,494.52c0,2.94-0.38,5.75-1.13,8.42c-0.75,2.67-1.84,5.19-3.26,7.56s-3.16,4.61-5.21,6.72l-1.87-1.15    c1.95-2.02,3.62-4.17,4.99-6.46c1.38-2.29,2.41-4.7,3.1-7.22c0.69-2.53,1.03-5.15,1.03-7.87c0-2.75-0.34-5.38-1.03-7.9    c-0.69-2.51-1.72-4.92-3.1-7.22c-1.38-2.3-3.04-4.45-4.99-6.43l1.87-1.15c2.05,2.08,3.78,4.31,5.21,6.7    c1.42,2.38,2.51,4.9,3.26,7.56C796.44,488.72,796.81,491.54,796.81,494.52z" />
                    </g>
                    <g>
                        <g>
                            <path class="st6"
                                d="M474.16,700.31c-22.45,7.05-48.41,11.07-76.06,11.07c-85.28,0-154.42-38.27-154.42-85.48     c0-47.21,69.14-85.48,154.42-85.48s154.42,38.27,154.42,85.48c0,11.61-4.18,22.68-11.76,32.78" />
                            <g>
                                <polygon class="st5"
                                    points="513.16,682.91 536.76,632.25 542.11,656.1 565.48,663.27     " />
                            </g>
                        </g>
                    </g>
                    <g>
                        <g>
                            <line class="st7" x1="398.1" y1="625.9" x2="398.1" y2="255.31" />
                            <g>
                                <polygon class="st4"
                                    points="436.61,284.52 398.1,268.16 359.58,284.52 398.1,193.23     " />
                            </g>
                        </g>
                    </g>
                </g>
            </svg>
        </desc>
    </div>
    <script>
        function generate3DColorWheel(hSteps = 36, sSteps = 16, lSteps = 32, viewAngle = 30) {
            // 参数设置
            const SIZE = 400;          // 画布尺寸
            const MAX_R = 150;         // 最大半径（对应L=255）
            const MAX_H = 360;         // 色相最大值
            const MAX_S = 255;         // 饱和度最大值
            const MAX_L = 255;         // 亮度最大值

            // 创建画布
            // const canvas = document.createElement("canvas");
            canvas.width = canvas.height = SIZE;
            const ctx = canvas.getContext("2d");
            ctx.translate(SIZE / 2, SIZE / 2 * 1.2); // 留出底部空间

            // 3D投影参数
            const toRad = a => a * Math.PI / 180;
            const viewAngleRad = toRad(viewAngle);
            const yScale = 0.5 + Math.cos(viewAngleRad) / 2;

            // HSL转RGB（适配0-255输入范围）
            function hslToRgb(h, s, l) {
                h = (h % 360) / 360;
                s = s / 255;
                l = l / 255;

                let r, g, b;
                const hue2rgb = (p, q, t) => {
                    if (t < 0) t += 1;
                    if (t > 1) t -= 1;
                    if (t < 1 / 6) return p + (q - p) * 6 * t;
                    if (t < 1 / 2) return q;
                    if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;
                    return p;
                }

                if (s === 0) {
                    r = g = b = l;
                } else {
                    const q = l < 0.5 ? l * (1 + s) : l + s - l * s;
                    const p = 2 * l - q;
                    r = hue2rgb(p, q, h + 1 / 3);
                    g = hue2rgb(p, q, h);
                    b = hue2rgb(p, q, h - 1 / 3);
                }
                return [r * 255, g * 255, b * 255];
            }

            // 3D投影计算
            function project(l, s, hAngle) {
                const r = MAX_R * (l / MAX_L); // 亮度控制半径
                const x = r * Math.cos(hAngle);
                const y = r * Math.sin(hAngle);

                // 应用透视投影
                return [
                    x,
                    y * yScale - (s / MAX_S) * MAX_R * 0.8
                ];
            }

            // 绘制圆柱表面
            const sStep = MAX_S / sSteps;
            const hStep = MAX_H / hSteps;
            const lStep = MAX_L / lSteps;

            // 绘制色相环
            for (let s = 0; s <= MAX_S; s += sStep) {
                for (let h = 0; h < MAX_H; h += hStep) {
                    const angle = toRad(h);
                    const nextAngle = toRad(h + hStep);

                    // 创建径向渐变
                    const [x0, y0] = project(0, s, angle);
                    const [x1, y1] = project(MAX_L, s, angle);
                    const gradient = ctx.createLinearGradient(x0, y0, x1, y1);

                    // 添加亮度渐变
                    for (let l = 0; l <= MAX_L; l += lStep) {
                        const color = hslToRgb(h, s, l);
                        const stop = l / MAX_L;
                        gradient.addColorStop(stop, `rgb(${color.map(v => v | 0)})`);
                    }

                    // 绘制三维色带
                    ctx.beginPath();
                    ctx.moveTo(...project(0, s, angle));
                    ctx.lineTo(...project(MAX_L, s, angle));
                    ctx.lineTo(...project(MAX_L, s, nextAngle));
                    ctx.lineTo(...project(0, s, nextAngle));
                    ctx.closePath();
                    ctx.fillStyle = gradient;
                    ctx.fill();
                }
            }

            return canvas;
        }

        // 生成示例


        let angle = 0
        let ph = 12, ps = 3, pl = 12
        setInterval(() => generate3DColorWheel((ph++) % 255 + 6, (ps += .1) % 6 + 6, (pl += .1) % 256, angle++), 50)
        // const wheel3D =generate3DColorWheel(64, 3, 256, 120);
        // document.body.appendChild(wheel3D);
    </script>
</body>

</html>